package com.xinchao.dao;

import com.xinchao.model.BreakdownImg;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 终端故障图片
 *
 * @author linqiang
 * @date 2018-08-08 15:42
 */
public interface BreakdownImgMapper {
    /**
     * 根据主键删除
     *
     * @param breakdownImgId 主键
     * @return 影响行数
     */
    int deleteByPrimaryKey(Long breakdownImgId);

    /**
     * 新增
     *
     * @param record 新增的图片
     * @return 影响行数
     */
    int insert(BreakdownImg record);

    /**
     * 根据主键查询
     *
     * @param breakdownImgId 主键
     * @return 影响行数
     */
    BreakdownImg selectByPrimaryKey(Long breakdownImgId);

    /**
     * 终端故障类型集合
     *
     * @param deviceCode 终端唯一设备编码
     * @return List<BreakdownType>
     */
    List<BreakdownImg> list(@Param("deviceCode") String deviceCode);

    /**
     * 根据终端唯一编码和名称查询单个故障图片
     *
     * @param deviceCode 终端唯一编码
     * @param fileName   故障图片名称
     * @return BreakdownImg
     */
    BreakdownImg selectByName(@Param("deviceCode") String deviceCode, @Param("fileName") String fileName);

    /**
     * 根据终端唯一编码和名称查询统计故障图片
     *
     * @param deviceCode 终端唯一编码
     * @param fileName   校验文件名是否与库中的同商家的视频文件名重复，如果重复，自动命名文件名，命名规则（a.jpg,a(1).jpg,a(2).jpg）
     *                   查找类型"a(1)"类似的文件，mysql匹配类型为“a(%)%”
     * @return 数量
     */
    int countByName(@Param("deviceCode") String deviceCode, @Param("fileName") String fileName);
}